<?php

namespace App\Http\Requests;

use Dingo\Api\Http\FormRequest;

class  BaseRequest extends FormRequest
{
    protected $stopOnFirstFailure = true;
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        $ruleAction = $this->route()->getActionMethod() . 'Rules';

        $arr = [];

        if (method_exists($this, $ruleAction)){
            $arr = $this -> $ruleAction();
        }

        return $arr;
    }


    public function messages () {
        return [
            'sometimes'         => '参数 :attribute 若提交则不能为空',
            'required'          => '参数 :attribute 不能为空',
            'required_if'       => '参数 :other 为 :values 时，:attribute 必传',
            'required_unless'   => '参数 :other 不为 :values 时，:attribute 必传',
            'size'              => '参数 :attribute 长度为 :size 位',
            'max'               => '参数 :attribute 最大长度为 :max 位',
            'exists'            => '参数 :attribute 不在规定范围内',
            'unique'            => '参数 :attribute 已存在',
            'in'                => '参数 :attribute 值错误',
            'array'             => '参数 :attribute 结构错误，请上传有效的JsonArray',
            'distinct'          => '参数 :attribute 结构错误，出现重复',
            'ip'                => '参数 :attribute 必须是有效的IP地址',
            'date'              => '参数 :attribute 必须是有效的日期',
            'numeric'           => '参数 :attribute 必须是有效数字',
            'required_without'  => '参数 :values 为空时，:attribute 必传',
        ];
    }
}
